在HTML5中有什么可以替代iFrame |
您所在的位置:网站首页 › html frameset为什么废弃 › 在HTML5中有什么可以替代iFrame |
如果一定要用iframe功能并控制从中提供基本页面或内容的服务器,则可以使用跨源资源共享(http://www.w3.org/TR/access-control/)允许client-side JavaScript通过XMLHttpRequest()将数据加载到中: // I safely ignore IE 6 and 5 (!) users // because I do not wish to proliferate // broken software that will hurt other // users of the internet, which is what // you're doing when you write anything // for old version of IE (5/6) xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if(xhr.readystate == 4 && xhr.status == 200) { document.getElementById('displayDiv').innerHTML = xhr.responseText; } }; xhr.open('GET', 'http://api.google.com/thing?request=data', true); xhr.send();现在,为了完成整个操作的关键步骤,您需要为您的服务器编写代码,以便为客户端提供Access-Control-Allow-Origin头文件,指定您希望客户端代码能够通过XMLHttpRequest()访问哪些域。以下是可以包含在页面顶部的PHP代码示例,以便将这些标题发送给客户端: 第五种方法object在HTML5中是一个简单的选择: Alternative Content也可以试试embed: 其他补充iframe仍然是下载跨域可视内容的最佳方式。有了AJAX,你肯定可以从网页上下载HTML并粘贴到div中(正如其他人所说的那样),但更大的问题是安全性。使用iframe,能够加载跨域内容,但无法操作它,因为内容实际上不属于您。另一方面,使用AJAX,您可以操纵任何您可以下载的内容,但是需要设置其他域的服务器,以便您可以下载。很多时候,你将无法访问其他域的配置,这可能是一个头痛的问题。在这种情况下,iframe用起来更容易。 正如其他人所提到的,你也可以使用嵌入标签和对象标签,但这不一定比iframe更先进或更新颖。 HTML5在采用Web API来从跨域获取信息方面走得更远。通常web API只是返回数据,而不是HTML。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |